package com.xdcplus.web.common.pojo.vo;

import java.sql.Timestamp;
import com.xdcplus.mp.domain.oracle.Base;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * 点检工单明细表(CraftCheckOrderTarget)表VO类
 * 
 * @author Man.Chen
 * @since 2024-12-03 17:43:55
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(description = "")
@SuppressWarnings("serial")
public class CraftCheckOrderTargetVO extends Base implements Serializable {
    private static final long serialVersionUID = 752543252606791026L;

    @ApiModelProperty("$column.comment")
    private Long requestIdFk;

    @ApiModelProperty("点检工单号")
    private String orderCode;

    @ApiModelProperty("计划名称")
    private String checkGroupName;

    @ApiModelProperty("分组名称")
    private String checkCategoryName;

    @ApiModelProperty("区域id")
    private Long subFactoryIdFk;

    @ApiModelProperty("区域")
    private String subFactoryName;

    @ApiModelProperty("车间id")
    private Long factoryIdFk;

    @ApiModelProperty("车间")
    private String factoryName;

    @ApiModelProperty("工艺 - 工序段")
    private Long opeSubsectionIdFk;

    @ApiModelProperty("工艺 - 工序段")
    private String opeSubsectionName;

    @ApiModelProperty("工艺")
    private Long opeIdFk;

    @ApiModelProperty("工艺")
    private String opeName;

    @ApiModelProperty("线别")
    private String toolBayId;

    @ApiModelProperty("设备名称")
    private String toolName;

    @ApiModelProperty("设备代码")
    private String toolCode;

    @ApiModelProperty("点检人")
    private Long checkUser;

    @ApiModelProperty("角色ID")
    private Long roleId;

    @ApiModelProperty("点检异常是否推送到安灯（默认：是）")
    private Long isPushAndon;

    @ApiModelProperty("点检异常是否推送到4M变更（默认：是）")
    private Long isPushFm;

    @ApiModelProperty("班次名称 在生成检点工单时判别班次。")
    private String classOrder;

    @ApiModelProperty("点检工单状态：1-未开机、2-待点检、3-点检完成、4-点检关闭")
    private Long checkStatus;

    @ApiModelProperty("点检时间")
    private Timestamp checkTime;

    @ApiModelProperty("点检异常项目数量")
    private Long exceptionNum;

    @ApiModelProperty("1-手动点检  2-自动点检")
    private Integer modeType;

    @ApiModelProperty("点检人")
    private String checkUserName;

    private List<CraftCheckOrderTargetVO> children = new ArrayList<>();

    /**
     * 点检工单的id
     */
    @ApiModelProperty("点检工单ID")
    private Long craftCheckOrderIdFk;

    @ApiModelProperty("点检组ID")
    private Long craftCheckGroupIdFk;

    private String deptName;

}
